// 全局方法 挂载 wx.$g
import './core/index.js'
// 日志只在dev环境中显示
console.log = wx.$g.config.isDev()?console.log:()=>{};
App({
  globalData: {
    userInfo: null,
  },
  /** 主要工具函数 **/
  onLaunch: function () {
    // 获取用户当前位置
    // this.getLocation();
  },
  onShow: function () {
    let _this = this;
    wx.getSystemInfo({
      success: e => {
        _this.globalData.StatusBar = e.statusBarHeight;
        let custom = wx.getMenuButtonBoundingClientRect();
        _this.globalData.Custom = custom;  
        _this.globalData.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
      }
    })
    // 自动版本升级
    _this.updateVersion();
  },
  // 版本升级
  updateVersion() {
    // 判断微信版本是否支持
    if (wx.canIUse('getUpdateManager')) {
      // 小程序更新
      const updateManager = wx.getUpdateManager();

      updateManager.onCheckForUpdate(function (res) {
        // 请求完新版本信息的回调
        console.log("检测版本 =>", res.hasUpdate == true ? '发现新版本' : '未发现新版本');
      })

      // 检测新版本后，下载成功回调
      updateManager.onUpdateReady(function () {
        wx.showToast({
          title: "检测到新版本，自动升级中...",
          icon: 'none'
        })
        // 1.2秒后重启应用
        setTimeout(() => {
          updateManager.applyUpdate()
        }, 1200)
      })

      // 检测新版本后，下载失败回调
      updateManager.onUpdateFailed(function () {
        wx.showModal({
          title: '更新提示',
          content: '新版本已经上线啦，请您删除当前小程序，重新搜索打开哟',
          showCancel: false, //隐藏取消按钮
          confirmText: "知道了", //只保留确定更新按钮
        })
      })
    } else {
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，无法自动更新，请升级到最新微信版本可使用最新版。'
      })
    }
  },
  // 获取用户当前定位
  getLocation: function () {
    wx.getLocation({
      type: 'wgs84',
      success(res) {
        const latitude = res.latitude // 纬度，范围为 -90~90，负数表示南纬
        const longitude = res.longitude // 经度，范围为 -180~180，负数表示西经
        const speed = res.speed // 速度，单位 m/s
        const accuracy = res.accuracy // 位置的精确度
        console.log("存储到异步缓存Kye:'userNow'， 用户当前纬度:" + latitude + ", 经度:" + longitude);
        var userNow = {
          lat : latitude,
          long : longitude
        }
        wx.setStorageSync("userNow", userNow);
      }
    })
  },
})